package com.itheima.service;

import com.itheima.entity.PageResult;
import com.itheima.entity.QueryPageBean;
import com.itheima.entity.Result;
import com.itheima.pojo.Order;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface OrderService {

    Map findById(Integer id) throws Exception;

    Result order(Map map) throws Exception;

    /**
     * 后管预约管理-预约查询
     * @param queryPageBean
     * @return
     */
    PageResult findPage(QueryPageBean queryPageBean);

    /**
     * 后管预约管理-电话预约添加
     * @param order
     * @param setmealIds
     */
    Result add(Order order, Integer[] setmealIds);

    /**
     * 后管预约管理-删除预约
     * @param id
     */
    void delete(Integer id);

    /**
     * 后管预约管理-通过日期查询
     * @param queryPageBean
     * @return
     */
    PageResult findByDate(QueryPageBean queryPageBean);

    /**
     * 后管预约管理-通过预约类型查询
     * @param queryPageBean
     * @return
     */
    PageResult findByOrderType(QueryPageBean queryPageBean);

    /**
     * 后管预约管理-通过预约状态查询
     * @param queryPageBean
     * @return
     */
    PageResult findByOrderStatus(QueryPageBean queryPageBean);


    PageResult findByOrderString(QueryPageBean queryPageBean);


    List<Integer> findSetmealIdsByOrderId(Integer orderId);

    Result edit(Order order, Integer[] setmealId);

    void changeOrderStatus(Integer id);

    List<Integer> findSetmealIdByMemberId(Integer id);
}
